package com.xueyi.system.auditRecords.domain.po;

import java.util.Date;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.system.auditRecords.domain.dto.AuditRecordsDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.xueyi.common.core.annotation.Excel;

/**
 * 审核记录 持久化对象
 *
 * @author zlf
 */
@TableName(value = "base_audit_records", excludeProperty = {"name", "sort", "status"}, autoResultMap = true)
public class AuditRecordsPo extends TBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 编码
     */
    @Excel(name = "编码")
    @TableField("code")
    private String code;

    /**
     * 审核目的
     */
    @Excel(name = "审核目的")
    @TableField("audit_purpose")
    private String auditPurpose;

    /**
     * 审核范围
     */
    @Excel(name = "审核范围")
    @TableField("audit_range")
    private Integer auditRange;

    /**
     * 审核依据
     */
    @Excel(name = "审核依据")
    @TableField("audit_basis")
    private String auditBasis;

    /**
     * 审核组成员
     */
    @Excel(name = "审核组成员")
    @TableField("audit_userList")
    private String auditUserlist;

    /**
     * 审核简况
     */
    @Excel(name = "审核简况")
    @TableField("audit_profile")
    private String auditProfile;

    /**
     * 综合评价
     */
    @Excel(name = "综合评价")
    @TableField("overall_merit")
    private String overallMerit;

    /**
     * 审核报告发送范围
     */
    @Excel(name = "审核报告发送范围")
    @TableField("audit_report")
    private String auditReport;

    /**
     * 审核时间
     */
    @Excel(name = "审核时间")
    @TableField("audit_time")
    private Date auditTime;

    /**
     * 审核结果（1待审核 2审核通过 3审核未通过）
     */
    @Excel(name = "审核结果", readConverterExp = "1=待审核,2=审核通过,3=审核未通过")
    @TableField("audit_result")
    private Integer auditResult;

    /**
     * 审核意见
     */
    @Excel(name = "审核意见")
    @TableField("audit_opinion")
    private String auditOpinion;

    /**
     * 附件
     */

    @Excel(name = "附件")
    @TableField(value = "appendix", typeHandler = FastjsonTypeHandler.class)
    private JSONArray appendix;


    public JSONArray getAppendix() {
        return appendix;
    }

    public void setAppendix(JSONArray appendix) {
        this.appendix = appendix;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public void setAuditPurpose(String auditPurpose) {
        this.auditPurpose = auditPurpose;
    }

    public String getAuditPurpose() {
        return auditPurpose;
    }

    public void setAuditRange(Integer auditRange) {
        this.auditRange = auditRange;
    }

    public Integer getAuditRange() {
        return auditRange;
    }

    public void setAuditBasis(String auditBasis) {
        this.auditBasis = auditBasis;
    }

    public String getAuditBasis() {
        return auditBasis;
    }

    public void setAuditUserlist(String auditUserlist) {
        this.auditUserlist = auditUserlist;
    }

    public String getAuditUserlist() {
        return auditUserlist;
    }

    public void setAuditProfile(String auditProfile) {
        this.auditProfile = auditProfile;
    }

    public String getAuditProfile() {
        return auditProfile;
    }

    public void setOverallMerit(String overallMerit) {
        this.overallMerit = overallMerit;
    }

    public String getOverallMerit() {
        return overallMerit;
    }

    public void setAuditReport(String auditReport) {
        this.auditReport = auditReport;
    }

    public String getAuditReport() {
        return auditReport;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditResult(Integer auditResult) {
        this.auditResult = auditResult;
    }

    public Integer getAuditResult() {
        return auditResult;
    }

    public void setAuditOpinion(String auditOpinion) {
        this.auditOpinion = auditOpinion;
    }

    public String getAuditOpinion() {
        return auditOpinion;
    }

}
